package com.tongyi.modules.mld.service.converter;

import com.tongyi.modules.mld.controller.enums.SecondarySourceEnum;
import com.tongyi.modules.mld.controller.enums.SourceEnum;
import com.tongyi.modules.mld.controller.enums.StatusEnum;
import com.tongyi.modules.mld.controller.vo.MldCustomReservationVo;
import com.tongyi.modules.mld.entity.MldCustomReservationEntity;

import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

public class MldCustomReservationVoConverter {

    public static MldCustomReservationVo convert2Vo(MldCustomReservationEntity entity) {
        if (entity == null) {
            return null;
        }
        MldCustomReservationVo mldCustomReservationVo = new MldCustomReservationVo();
        mldCustomReservationVo.setId(entity.getId());
        mldCustomReservationVo.setCreateTime(entity.getCreateTime());
        mldCustomReservationVo.setUpdateTime(entity.getUpdateTime());
        mldCustomReservationVo.setCustomName(entity.getCustomName());
        mldCustomReservationVo.setCustomPhone(entity.getCustomPhone());
        mldCustomReservationVo.setDepartment(entity.getDepartment());
        mldCustomReservationVo.setUserId(entity.getUserId());
        mldCustomReservationVo.setUserName(entity.getUserName());
        mldCustomReservationVo.setRealName(entity.getRealName());
        mldCustomReservationVo.setStatus(StatusEnum.valueOf(entity.getStatus()).getDesc());
        mldCustomReservationVo.setSource(SourceEnum.valueOf(entity.getSource()).getDesc());
        mldCustomReservationVo.setSecondarySource(SecondarySourceEnum.valueOf(entity.getSecondarySource()).getDesc());
        return mldCustomReservationVo;
    }

    public static List<MldCustomReservationVo> convert2VoList(List<MldCustomReservationEntity> entityList) {
        return Objects.requireNonNull(entityList).stream().map(MldCustomReservationVoConverter::convert2Vo).collect(Collectors.toList());
    }
}
